ε Universo WWW Antes de empezar con lo que veremos hoy, anunciaros por si no lo habiais leido ya, que la sección "El WEB seleccionado" en el que cada número os bajaba- mos una página o un recurso interesante de Internet a petición vuestra, desapa- rece, pero no del todo ya que será desde esta misma sección desde la que trata- remos de hacer lo que se hacia en aquella. Así que si quereis que os bajemos algo, enviadlo y lo haremos desde esta misma sección. φ JavaScript En el pasado número iniciamos nuestra andadura en el lenguaje JavaScript. Recuerda que el 'tag' que habia que poner para poder incluir el código JS es el δ<SCRIPT> ... </SCRIPT>π. JS es un lenguaje basado en objetos que es más o menos como un lenguaje de programación orientada a objetos pero sin clases y sin lo que ello implica. Lo que si existe son objetos y para acceder a ellos lo primero que debemos saber es su nombre y los métodos (funciones) que nos permíten usar. Usamos ya en el pasado número un objeto llamado 'document' y un método implementado en el llamado 'write'. Siempre que tengamos un objeto conocido y un método de él mismo, para llamarlo, lo haremos como el ejemplo que vimos, recordemos: Γdocument.write("Escribo lo que quiero"); Hay muchos objetos y métodos predefinidos que iremos viendo a lo largo de esta série de artículos y cuya jerarquia ya explicaré cuando todo esto esté más rodado. En JS tambien podemos definir funciones para luego usarlas en otras funciones o directamente desde un 'tag' δ<SCRIPT>π. Para definir una función lo haremos siempre al inició del documento HTML ya que, cuando la llamemos, debe haber sido ya definida y esta es la mejor forma de asegurarse de ello. La definición de las funciones es sencilla y a muchos les recordará a la de otros lenguajes, se hace así: Γ function nombre_de_la_funcion(param1, param2, ..., paramX) { Γ cuerpo_de_la_funcion Γ } La definición de funciones es el primer gran paso que debiamos dar para poder continuar, el siguiente... los comentarios. Para hacer un comentario en cualquier lugar del código JS (atención, no HTML) usaremos las 2 barras inclinadas 'δ//π' al igual que se hace en C++; el resto de la línea será ignora- rado: Γ .... Γ document.write("Prueba de JS"); // Escribe un mensaje. Γ .... φ Ocultación de JS a antiguos browsers Como todavia hay gente que sigue usando browsers sin la posibilidad de interpretar código JS, debemos implementar algún sistema para que cuando se use uno de estos browsers se avise al usuario de la imposibilidad de ver la página (o mostrar una equivalente). El método que usaremos para hacer esto será usando los comentarios de uno y otro browser, es decir, el clásico δ<!-- ... -->π y el nuevo δ//π. Lo que haremos será abrir el 'tag' δ<SCRIPT>π y ya dentro de él abriremos un comentario del HTML (<!--), definiremos las funciones necesarias y antes de cerrar con δ</SCRIPT>π abriremos un comentario de linea en JS y en la propia linea cerraremos el comentario, con lo que los browsers sin JS acabaran el comentario y los que lo tengan creeran que nunca se cerró e ignoraran su apertura. Un ejemplo: Γ <SCRIPT LANGUAGE="Javascript"> Γ <!-- Γ document.write("Prueba de JS"); Γ // Aquí ponemos el código. Γ // --> Γ </SCRIPT> Luego podemos usar un 'tag' llamado δ<NOSCRIPT>π donde todo lo que pongamos dentro no aparecerá en los browsers con JS y que podemos aprovechar para escribir un mensaje de error por no poder interpretar JavaScript. φ Un pequeño ejemplo Para consolidar lo aprendido hoy mostraré un pequeño ejemplo en JS de defini- ción de funciones que no hace nada pero que es un buen comienzo para hacer un proyecto más grande. Vamos con el código: Γ <HTML> [ 1] Γ <HEAD> [ 2] Γ <TITLE> Prueba de JavaScript </TITLE> [ 3] Γ <SCRIPT LANGUAGE="Javascript"> [ 4] Γ <!-- [ 5] Γ function Escribe(msg) { [ 6] Γ document.write(msg+"<HR>"); [ 7] Γ } [ 8] Γ // --> [ 9] Γ </SCRIPT> [10] Γ </HEAD> [11] Γ <BODY> [12] Γ <SCRIPT> [13] Γ <!-- [14] Γ Escribe("Estoy escribiendo mediante JS"); [15] Γ Escribe("Y no está nada mal, verdad? :) "); [16] Γ // --> [17] Γ <SCRIPT> [18] Γ <NOSCRIPT> [19] Γ Como no te pillas un nuevo browser????<HR> [20] Γ </NOSCRIPT> [21] Γ </BODY> [22] Γ </HTML> [23] Las 3 primeras líneas son las típicas de todo documento HTML y no tienen ningún secreto para nadie (espero :). Entre las líneas 4 y 10 lo que se hace es definir las funciones JS que vamos a usar y que se debe hacer dentro de la própia cabecera del documento HTML. En la línea 6 se puede observar como se definen las funciones, en este caso una llamada 'Escribe' con un parámetro llamado 'msg'. Fíjate que los parámetros no tienen definidos absolutamente ningún tipo ya que, para JS, todos los datos tienen el mismo tipo (similar a lo que sucede en lenguajes como BASIC o LISP, precisamente los típicamente interpretados). Entre las líneas 13 y 18 se hace un par de llamadas a la función que hemos definido en la cabecera y que como supongo habrás observado se encarga de escribir el texto que le pasemos como parámetro añadiendole un ENTER al final. Con el 'tag' δ<NOSCRIPT>π que definimos en la línea 19 y hasta que lo cerramos en la 21, definimos una zona en la que todo lo que escribamos aparecerá en los browsers sin JS y no lo hará en los que lo tengan. Espero que con lo de hoy tengais suficiente ya que algunos nos habiais pedido que nos extendiramos más en algunas secciones como lo es esta. De todas formas, no se ha hecho hoy la sección más larga por las cartas que hemos recibido (aunque un poco tambien), sino porque he tenido más tiempo que durante el curso y mientras no deje alguna otra sección no puedo asegurar que esta se mantenga al mismo ritmo. ∞ Navi/PhyMosys